Cel:		Digging Jim V1.01
Opis:		Boulder Dash z C64 na PC-ta
Gdzie:		PC Shareware 3/99,http://www.persei.dk/
Narzedzia:	Sice 3.xx
Autor:		bart

1.W katalogu z gierk znajduje sie program digreg.exe,ktry uruchamiamy
2.Widzimy 1 okienko edycyjne, ktre uwoliwia wprowadzanie tylko cyfr
3.Wpisujemy kod np.9876
4.W si zakadamy pupk na GetDlgItemInt
5.Wychodzimy z si
6.Klikamy OK
7.Ldujemy w kodzie programu(po F11):

PUSH	0
PUSH	EAX		;tu bdzie zwrcona liczba z okna edycyjnego
PUSH	3E8		;ID elementu
PUSH	ESI		;uchwyt okna dialogowego
CALL	GetDlgItemInt	;pobierz interger

MOV	ECX,EAX		;ecx=eax=nasz kod
MOV	EBX,305h	;ebx dzielnik
INC	ECX		;powiksz ecx=nasz kod+1
MOV	EAX,ECX		;eax=ecx
CDQ			;czy edx
IDIV	EBX		;eax/ebx caoci w eax,reszta z dzielenia w edx
TEST	EDX,EDX		;czy jest reszta?
JNZ	JMP_BAD_BOY	;jeeli tak to serial jest zy
CMP	CL,0BDh		;ostatni bajt z naszego kodu(w hex) cmp z BDh
JE	JMP_GOOD_BOY	;jeeli takie same to serial poprawny

8.Aby obliczy serial posuymy si odpowiedni procedur w asm
=======================================================================
.386p
locals
jumps
.model flat,stdcall

extrn	ExitProcess	:proc

liczba	equ 0BDh
dziel	equ 305h
.data
;jeeli nie umiecimy sekcji .data to wygenerowany exec bdzie
;uszkodzony,jedyn sekcj w execu bdzie CODE,brak tabeli importu
;co spowoduje zawieszenie si programu w chwili gdy bdzie
;prbowa wywoa funkcj API,jest to wina, tak mi si przynajmniej
;wydaje samego TASMA, nie wiem jak jest w przypadku masma

tag	db '[bart]',0

.code
start:

sub	ecx,ecx		;czy ecx
mov	ebx,dziel	;ebx dzielnik

go:	inc	ecx	;zwiksz o jeden ecx
	shl	ecx,8	;ecx^8 np. shl 2h,8=200h,shl 3h,8=300h
	jmp	next
inc_:	shr	ecx,8	;np.shr 2BDh,8=2h,shr 200h,8=2h
	jmp	go	;id zwikszy licznik

next:	cdq		;czy edx
	mov	cl,liczba ;cl liczba
	mov	eax,ecx
	idiv	ebx	;eax/ebx, caoci w eax, reszta w edx
	test	edx,edx	;czy jest reszta?
	jnz	inc_	;jeeli jest to sprawd kolejn liczb
	cmp	cl,liczba;ostatni bajt z wygenerowanego kodu cmp 0BDh
	jne	inc_	;jeeli s rne to sprawd kolejn liczb

	dec	ecx	;zmniejsz ecx o 1

int	3		;w SI piszemy I3HERE ON, aby si tu zatrzyma
			;potem odczytujemy zawarto ?ecx
call	ExitProcess,-1

end start
=======================================================================
8.Wchodzimy do si i ustawiamy puapk na int 3 lub po prostu i3here on
9.Uruchamiamy powyszy program,si zatrzymuje jego dziaanie po dojciu
do int 3.Teraz piszemy ?ecx, zapisujemy tak otrzymany serial(dec)
10.Otrzymany serial jest pierwszym, ktry speni warunki algorytmu...
poprawne s kolejne 2, ale 3 wygenerowany przez nasz program jest
ju niepoprawny
10.Seriale:
I.  68796
II. 17680828
III.231399868
IV. 3403940284 <--ten ju nie dziaa

=======================================================================
Z innej beczki
1.Na PC Shareware 3/99 znalazem niezy text o crackerach:

Autor:Piotr Laso
PC Shareware 3/99

"(...)Powinnimy uwaa, bo bdzie niewesoo, jeli trafimy na
 prawdziwego Crackera" *(ju si boj ;)

"Cracking, nie myli ze spoywaniem krakersw, to dziaanie
 ukierunkowane na zdobycie korzyci materialnych, wyrzdzenie szkd,
 szpiegostwo gospodarcze, zakcanie funkcjonowania serwera"

*(nieze mam korzyci materialne z crackerstwa he,he...szkody?
 jakie szkody, same korzyci seriale,cracki,keygeneratory, a tak
 nawiasem mwic to na PC Shareware 2/99 zamiecili program
 razem z crackiem do owego programu...)

"Cracking dzieli od wymienionych wczeniej nurtw"*(hacker,phacker)
"cienka linia - motywacja programisty.Oczywicie nie bdziemy tutaj
 bili brawo tym, ktrzy majc moliwo, nie ukradli ani nie zniszczyli
 , aczkolwiek wiadczy to o ich poziomie rozwoju moralnego, czego o
 Crackerach jako o przestpcach powiedzie nie mona"

*(no adnie)

"(...)Miejmy wiadomo tego, e nieszkodliwy hacker, zaczynajc od
 podmieniania witryn WWW, moe przej gron dla otoczenia mutacj
 w Crackera"

*(a wic jestem zmutowanym hackerem...zawsze mylaem inaczej,c
 ycie jest brutalne dla mutantw ;)

"Czowiek jest czowiekiem.Niemiay, ale poechtany sukcesem signie
 po wicej, a widzc, e to go krci, przejdzie na Ciemn Stron."

*(Ciemna Strona - kewl)

=======================================================================
c'ya next time

bartw@free.net.pl
